Assisting users to execute content copied from electronic document in user&#39;s computing environment

ABSTRACT

A method, system and computer program product for assisting users to execute content in a user&#39;s computing environment. A user copying and pasting content from a first electronic document is detected, where the content is set as a first character string. Furthermore, the modification of the copied content is detected, where the modification includes modification of parameters of the user&#39;s computing environment to implement execution of the copied content and the modified copied content is set as a second character string. The first and second character strings as well as the modification points are registered in a repository. The modification points include the modified parameters of the first user&#39;s computing environment. By matching the character string copied by a second user from a second electronic document with one of the registered character strings, the second user may be presented with the modification points associated with the matching character string.

TECHNICAL FIELD

The present invention relates generally to copying content fromelectronic technical documents, and more particularly to assisting usersto execute content (e.g., exemplary commands) copied from an electronictechnical document in a user's computing environment.

BACKGROUND

User guides or manuals are technical documents provided electronicallythat contain instructions on how to use a device (e.g., computingdevice), software, etc. Most user guides include examples to assist theuser in understanding the operation of the device, software, etc.

Normally the examples (e.g., exemplary commands) that are provided inthe user guides are based on the work environment of the author, thetest environment or the reference environment, including the input andoutput settings for executing the exemplary commands.

Typically, when a user desires to use one of the exemplary commandsillustrated in the user guide, the user copies the command into theuser's computing environment. For example, the user may copy anexemplary command into a text field in a dialog box. For instance, theuser may copy the command of prompting the user to enter a new user'spassword in the text field in the dialog box.

However, in order to implement the execution of the command in theuser's computing environment, various parameter adjustments or othermodifications may be required in the user's computing environment.

For less experienced users, it may not be clear what parameters (e.g.,location parameters) should be modified and to what extent suchparameters should be changed. Even for more experienced users, it may bedifficult to comprehend all the parameter modifications to be changedand configuration mistakes are common.

Unfortunately, there is not currently a means for assisting the user inrecognizing the parameters that need to be modified and how suchmodifications should be performed in the user's computing environment inorder to implement the execution of an exemplary command copied from anelectronic document, such as a user's guide.

SUMMARY

In one embodiment of the present invention, a method for assisting usersto execute content in a user's computing environment comprises detectinga first user copying content from a first electronic document, where thecontent is set as a first character string. The method further comprisesdetecting a pasting of the copied content into a first user'senvironment. The method additionally comprises detecting a modificationof the copied content, where the modification comprises modification ofparameters of the first user's environment to implement execution of thecopied content, and where the modification of the copied content is setas a second character string. The method further comprises registeringthe first and second character strings and differences between the firstand second character strings in a repository in response to a differencebetween the first and second character strings exceeding a thresholdvalue. The method additionally comprises registering modification pointsand a range of locations in the second character string exhibitingdifferences from the first character string in the repository inresponse to the difference between the first and second characterstrings exceeding the threshold value, where the modification pointscomprise modifications in the second character string with respect tothe first character string, and where the modification points comprisemodified parameters of the first user's environment. Furthermore, themethod comprises detecting a second user copying content from a secondelectronic document into a second user's environment. Additionally, themethod comprises detecting a selection of a paste operation of thecopied content into the second user's environment in response to thecopied content matching the first character string in the repositorywithin a threshold degree of agreement. In addition, the methodcomprises presenting to the second user one or more of the registeredmodification points associated with the second character string storedin the repository.

Other forms of the embodiment of the method described above are in asystem and in a computer program product.

In another embodiment of the present invention, a method for assistingusers to execute content in a user's computing environment comprisesdetecting a first user copying content from a first electronic document,where the content is set as a first character string. The method furthercomprises detecting a pasting of the copied content into a first user'senvironment. The method additionally comprises detecting a modificationof the copied content, where the modification comprises modification ofparameters of the first user's computing environment to implementexecution of the copied content, and where the modification of thecopied content is set as a second character string. Furthermore, themethod comprises registering the first and second character strings anddifferences between the first and second character strings in arepository in response to a difference between the first and secondcharacter strings exceeding a threshold value. Additionally, the methodcomprises registering modification points and a range of locations inthe second character string exhibiting differences from the firstcharacter string in the repository in response to the difference betweenthe first and second character strings exceeding the threshold value,where the modification points comprise modifications in the secondcharacter string with respect to the first character string, and wherethe modification points comprise modified parameters of the first user'scomputing environment. In addition, the method comprises detecting asecond user browsing a second electronic document. The method furthercomprises searching contents in the second electronic document thatmatch the registered first character string in the repository within athreshold degree of agreement. The method additionally comprisesidentifying the registered modification points in the repositoryassociated with the first character string. Furthermore, the methodcomprises detecting the second user copying content that matches theregistered first character string. Additionally, the method comprisespresenting to the second user one or more of the identified registeredmodification points associated with the first character string stored inthe repository.

Other forms of the embodiment of the method described above are in asystem and in a computer program product.

The foregoing has outlined rather generally the features and technicaladvantages of one or more embodiments of the present invention in orderthat the detailed description of the present invention that follows maybe better understood. Additional features and advantages of the presentinvention will be described hereinafter which may form the subject ofthe claims of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention can be obtained when thefollowing detailed description is considered in conjunction with thefollowing drawings, in which:

FIG. 1 illustrates a communication system configured in accordance withan embodiment of the present invention;

FIG. 2 illustrates an embodiment of the present invention of a hardwareconfiguration of the document manager which is representative of ahardware environment for practicing the present invention;

FIG. 3 is a flowchart of a method for registering character strings in arepository in accordance with an embodiment of the present invention;

FIG. 4 illustrates registering character strings in the repository inaccordance with an embodiment of the present invention;

FIG. 5 is a flowchart of a method for assisting the user in executingthe content copied from an electronic document by assisting the user inrecognizing the parameters that need to be modified and how suchmodifications should be performed in the user's computing environment inaccordance with an embodiment of the present invention; and

FIG. 6 is a flowchart of an alternative method for assisting the user inexecuting the content copied from an electronic document by assistingthe user in recognizing the parameters that need to be modified and howsuch modifications should be performed in the user's computingenvironment in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

The present invention comprises a method, system and computer programproduct for assisting users to execute content in a user's computingenvironment. In one embodiment of the present invention, a first usercopying content from an electronic document is detected, where thecontent is set as a first character string. The pasting of the copiedcontent into the first user's computing environment is then detected.Furthermore, the modification of the copied content is detected, wherethe modification includes modification of parameters of the first user'scomputing environment to implement execution of the copied content.Furthermore, the modified copied content is set as a second characterstring. Additionally, the first and second character strings as well asthe differences between the first and second character strings areregistered in a repository in response to the difference between thefirst and second character strings exceeding a threshold value.Furthermore, the modification points and a range of locations in thesecond character string exhibiting differences from the first characterstring are registered in the repository in response to the differencebetween the first and second character strings exceeding the thresholdvalue. The modification points include modifications in the secondcharacter string with respect to the first character string.Furthermore, the modification points include the modified parameters ofthe first user's computing environment. By matching the character stringcopied by a second user from an electronic document with one of theregistered character strings, the second user may be presented with themodification points associated with the matching character stringthereby assisting the second user in recognizing the parameters thatneed to be modified and how such modifications should be performed inthe second user's computing environment in order to implement theexecution of content (e.g., exemplary command) copied from an electronicdocument.

In the following description, numerous specific details are set forth toprovide a thorough understanding of the present invention. However, itwill be apparent to those skilled in the art that the present inventionmay be practiced without such specific details. In other instances,well-known circuits have been shown in block diagram form in order notto obscure the present invention in unnecessary detail. For the mostpart, details considering timing considerations and the like have beenomitted inasmuch as such details are not necessary to obtain a completeunderstanding of the present invention and are within the skills ofpersons of ordinary skill in the relevant art.

Referring now to the Figures in detail, FIG. 1 illustrates acommunication system 100 for practicing the principles of the presentinvention in accordance with an embodiment of the present invention.Communication system 100 includes computing devices 101A-101C(identified as “Computing Device A,” “Computing Device B,” and“Computing Device C,” respectively, in FIG. 1) connected to a documentrepository 102 via a network 103. Computing devices 101A-101C maycollectively or individually be referred to as computing devices 101 orcomputing device 101, respectively. The user of computing device 101 mayalso be referenced herein as user 101.

Computing device 101 may be any type of computing device (e.g., portablecomputing unit, Personal Digital Assistant (PDA), smartphone, laptopcomputer, mobile phone, navigation device, game console, desktopcomputer system, workstation, Internet appliance and the like)configured with the capability of connecting to network 103 andconsequently communicating with other computing devices 101 and documentrepository 102.

Document repository 102 (also referred to as simply “repository”) is arepository or database for storing documents in electronic form.Furthermore, document repository 102 may be configured to storeregistered character strings, differences between such characterstrings, modification points and the range of locations in a secondcharacter string exhibiting differences from a first character string.“Modification points,” as used herein, refer to the modifications in thesecond character string in comparison to the first character string. The“range of locations in the second string,” as used herein, refers to thelocations in the second character string containing the modifications.

Network 103 may be, for example, a local area network, a wide areanetwork, a wireless wide area network, a circuit-switched telephonenetwork, a Global System for Mobile Communications (GSM) network, aWireless Application Protocol (WAP) network, a WiFi network, an IEEE802.11 standards network, various combinations thereof, etc. Othernetworks, whose descriptions are omitted here for brevity, may also beused in conjunction with system 100 of FIG. 1 without departing from thescope of the present invention.

System 100 further includes a document manager 104 connected torepository 102 via network 103. Document manager 104 is configured tomanage the documents stored in repository 102. Furthermore, documentmanager 104 is configured to assist the user (e.g., user of computingdevice 101) in recognizing the parameters that need to be modified andhow such modifications should be performed in the user's computingenvironment in order to implement the execution of content (e.g.,exemplary command) copied from an electronic document, such as a user'sguide.

System 100 is not to be limited in scope to any one particular networkarchitecture. System 100 may include any number of computing devices101, repositories 102, networks 103 and document managers 104.Furthermore, while FIG. 1 illustrates document manager 104 as being aseparate physical device, some or all of the functionality of documentmanager 104, as discussed herein, may reside in computing device 101.

Referring now to FIG. 2, FIG. 2 illustrates an embodiment of the presentinvention of a hardware configuration of document manager 104 (FIG. 1)which is representative of a hardware environment for practicing thepresent invention. Referring to FIG. 2, document manager 104 has aprocessor 201 coupled to various other components by system bus 202. Anoperating system 203 runs on processor 201 and provides control andcoordinates the functions of the various components of FIG. 2. Anapplication 204 in accordance with the principles of the presentinvention runs in conjunction with operating system 203 and providescalls to operating system 203 where the calls implement the variousfunctions or services to be performed by application 204. Application204 may include, for example, a program for assisting the user (e.g.,user of computing device 101) in recognizing the parameters that need tobe modified and how such modifications should be performed in the user'scomputing environment in order to implement the execution of content(e.g., exemplary command) copied from an electronic document, asdiscussed further below in connection with FIGS. 3-6.

Referring again to FIG. 2, read-only memory (“ROM”) 205 is coupled tosystem bus 202 and includes a basic input/output system (“BIOS”) thatcontrols certain basic functions of document manager 104. Random accessmemory (“RAM”) 206 and disk adapter 207 are also coupled to system bus202. It should be noted that software components including operatingsystem 203 and application 204 may be loaded into RAM 206, which may bedocument manager's 104 main memory for execution. Disk adapter 207 maybe an integrated drive electronics (“IDE”) adapter that communicateswith a disk unit 208, e.g., disk drive. It is noted that the program forassisting the user (e.g., user of computing device 101) in recognizingthe parameters that need to be modified and how such modificationsshould be performed in the user's computing environment in order toimplement the execution of content (e.g., exemplary command) copied froman electronic document, as discussed further below in connection withFIGS. 3-6, may reside in disk unit 208 or in application 204.

Document manager 104 further includes a communications adapter 209coupled to bus 202. Communications adapter 209 interconnects bus 202with an outside network (e.g., network 103 of FIG. 1) thereby allowingdocument manager 104 to communicate with other devices, such ascomputing devices 101 and repository 102.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

As stated in the Background section, typically, when a user desires touse one of the exemplary commands illustrated in the user guide, theuser copies the command into the user's computing environment. Forexample, the user may copy an exemplary command into a text field in adialog box. For instance, the user may copy the command of prompting theuser to enter a new user's password in the text field in the dialog box.However, in order to implement the execution of the command in theuser's computing environment, various parameter adjustments or othermodifications may be required in the user's computing environment. Forless experienced users, it may not be clear what parameters (e.g.,location parameters) should be modified and to what extent suchparameters should be changed. Even for more experienced users, it may bedifficult to comprehend all the parameter modifications to be changedand configuration mistakes are common. Unfortunately, there is notcurrently a means for assisting the user in recognizing the parametersthat need to be modified and how such modifications should be performedin the user's computing environment in order to implement the executionof an exemplary command copied from an electronic document, such as auser's guide.

The principles of the present invention provide a means for assistingthe user in recognizing the parameters that need to be modified and howsuch modifications should be performed in the user's computingenvironment in order to implement the execution of content (e.g.,exemplary command) copied from an electronic document as discussed belowin connection with FIGS. 3-6. FIG. 3 is a flowchart of a method forregistering character strings in a repository. FIG. 4 illustratesregistering character strings in a repository. FIG. 5 is a flowchart ofa method for assisting the user in executing the content copied from anelectronic document by assisting the user in recognizing the parametersthat need to be modified and how such modifications should be performedin the user's computing environment. FIG. 6 is a flowchart of analternative method for assisting the user in executing the contentcopied from an electronic document by assisting the user in recognizingthe parameters that need to be modified and how such modificationsshould be performed in the user's computing environment.

As stated above, FIG. 3 is a flowchart of a method 300 for registeringcharacter strings in repository 102 (FIG. 1) in accordance with anembodiment of the present invention.

Referring to FIG. 3, in conjunction with FIGS. 1-2, in step 301,document manager 104 detects the copying of content (e.g., exemplarycommand) from an electronic document (e.g., user guide) by a user 101,which is set as character string 1, as shown in FIG. 4.

FIG. 4 illustrates registering character strings in a repository inaccordance with an embodiment of the present invention. As shown in FIG.4, user 101 copies content from an electronic document corresponding to“curl -s -X GET -key keyfile -cert certfilehttps://localhost:7777/api/v1/data/id,” which is set as character string1 402.

In one embodiment, document manager 104 also determines the range of thecopied content. Range, as used herein, refers to the character length ofthe character string.

In step 302, document manager 104 detects the pasting of the copiedcontent into the user's computing environment (e.g., console, textfield) by user 101.

In step 303, document manager 104 detects the modification of the copiedcontent, including modification of parameters (e.g., input and outputsettings) to implement the execution of the copied content in the user'scomputing environment, which is set as character string 2. The user'scomputing environment, as used herein, refers to the set of packages,variables and files that are present in the computing device of user101.

For example, as shown in FIG. 4, character string 2 may correspond to“curl -s -X GET -key ˜/cert/key -cert ˜/cert/certhttps://localhost:7777/api/v1/data/123456,” where the differencesbetween character strings 1 and 2 are shown in FIG. 4.

In one embodiment, document manager 104 detects user 101 executing thecopied content (e.g., exemplary commend), such as by pressing the ENTERkey in the console or clicking “OK” in a dialog, collecting the editedcontent from the paste destination by hook or the like and setting it ascharacter string 2. In one embodiment, in the event that the commandfails to execute, document manager 104 may wait for the user to initiatere-execution.

In step 304, a determination is made by document manager 104 as towhether the difference between character strings 1 and 2 exceeds athreshold value, which may be user-selected. In one embodiment, thedifference may be determined by document manager 104 by comparing eachcharacter in each of the character strings (character strings 1 and 2)and identifying the differences. If the number of such differencesexceeds a threshold value, which may be user-selected, then thecharacter strings will be registered as discussed below. In oneembodiment, document manager 104 also performs temporal evaluations,determines whether operations were performed with respect to otherapplications or evaluates other user operations.

If the difference between character strings 1 and 2 exceeds a thresholdvalue, then, in step 305, document manager 104 registers characterstrings 1 and 2, the differences between the character strings, themodification points and the range of locations in the second characterstring exhibiting differences from the first character string inrepository 102. Modification points, as used herein, refer to themodifications in the second character string with respect to the firstcharacter string. In one embodiment, modification points include themodified parameters (parameters of user's computing environment) toenable execution of content (e.g., exemplary command) copied from anelectronic document in the user's computing environment. The “range oflocations in the second string,” refers to the locations in the secondcharacter string containing the modifications.

In one embodiment, user 101 is presented with a dialog 404(communication dialog) as shown in FIG. 4 to provide user 101 theopportunity to confirm registration of the character strings as well asto confirm the differences (list of differences 405 shown inconfirmation dialog 404), the modification points 406 and the range oflocations 407 in the second character string exhibiting differences fromthe first character string.

In one embodiment, user 101 may be presented with the option to providefurther additions and updates to the modified content (e.g., characterstring 2) after registration is confirmed. For example, if characterstring 2 403 contains the user's confidential or personal information,then user 101 may want to hide that confidential or personal informationin the character string or replace the confidential or personalinformation in the character string with non-confidential ornon-personal information.

In one embodiment, user 101 may be presented with the option to providefurther additions and updates to the modified content (e.g., characterstring 2) before registration.

In step 306, document manager 104 associates the registered characterstrings with a unique key as shown in FIG. 4. In one embodiment, theunique key is stored in repository 102 along with the informationdiscussed in step 305. In one embodiment, such information (informationdiscussed in steps 305, 306) may be stored together in a “record” inrepository 102 associated with character strings 1 and 2. Referring toFIG. 4, a unique key 408 is associated with the registered characterstrings. In one embodiment, user 101 is presented the option to register409 or cancel registration 410.

In one embodiment, unique key 408 may be used by user 101 to obtain avalue, such as character string 2, associated with the copied content(e.g., character string 1) as discussed further below. In oneembodiment, the value associated with unique key 408 may pertain to themodified parameters of the user's computing environment, which maysubsequently be shared by multiple users using the same unique key 408.

Referring to step 304, if, however, the difference between characterstrings 1 and 2 does not exceed a threshold value, then, in step 307,character strings 1 and 2 are not registered in repository 102.

By registering characters strings in repository 102 as discussed above,when other users copy a registered character string (e.g., characterstring 1 402) from an electronic document, the user may be presentedwith the modified character string (e.g., character string 2 403). Inthis manner, the modified contents may be shared and used by otherusers.

After registering character strings in repository 102, document manager104 assists the user in executing content copied from an electronicdocument in the user's computing environment by assisting the user inrecognizing the parameters that need to be modified and how suchmodifications should be performed in the user's computing environment asdiscussed below in connection with FIG. 5.

FIG. 5 is a flowchart of a method 500 for assisting the user inexecuting the content copied from an electronic document by assistingthe user in recognizing the parameters that need to be modified and howsuch modifications should be performed in the user's computingenvironment in accordance with an embodiment of the present invention.

Referring to FIG. 5, in conjunction with FIGS. 1-4, in step 501,document manager 104 detects the copying of content (e.g., exemplarycommand) from an electronic document (may be the same or a differentelectronic document than the electronic document of step 301) by a user101 (can be a different user 101 than who copied content in step 301).

In step 502, a determination is made by document manager 104 as towhether the copied content matches a record stored in repository 102within a threshold degree of agreement. “Record,” as used herein, refersto the information stored in repository 102 pertaining to theregistration of character strings 1 and 2 as discussed above inconnection with steps 305-306.

In one embodiment, the copied content is compared with previously storedcharacter strings in repository 102, such as character string 1 402,character by character. In one embodiment, taking into account thenumber of characters in the character strings, the determination of step502 involves determining if the percentage of characters that matchexceeds a threshold value, which may be user-selected. If the percentageof characters that match exceeds the threshold value, then the copiedcontent is deemed to match a record stored in repository 102 within athreshold degree of agreement. Otherwise, the copied content is deemedto not match a record stored in repository 102 within a threshold degreeof agreement.

If the copied content does not match a record stored in repository 102within a threshold degree of agreement, then, in step 503, documentmanager 104 enables the normal copy and paste operation.

If, however, the copied content does match a record stored in repository102 within a threshold degree of agreement, then, in step 504, documentmanager 104 provides a notification (e.g., visual or audible) to user101 indicating that the copied content may need to be modified in orderto be executed in the user's computing environment. For example, if user101 copied content from the electronic document that matches characterstring 1 402, then the copied content may need to be modified ascharacter string 2 403 in order to be executed in the user's computingenvironment.

In step 505, document manager 104 detects the selection of a pasteoperation to paste the copied content into the user's computingenvironment by user 101.

In step 506, document manager 104 temporarily disables the pasteoperation from being fully executed.

In step 507, document manager 104 presents modification point(s) 406 ofthe copied content, and possibly multiple modification points 406 forthe same character location, to user 101, such as via a combo box or aselection box.

In one embodiment, modification point(s) 406 are obtained from therecord associated with the matching character string (e.g., characterstring 1 402), where the matching character string was modified (e.g.,character string 2 403) to enable execution of the copied content in theuser's computing environment. For example, referring to FIG. 4, if user101 copied content (e.g., exemplary command) from an electronic document(e.g., user guide) that matches character string 1 402 stored in arecord of repository 102 within a threshold degree of agreement, thenuser 101 would be presented with modification points 406 associated withthe record of character string 1 402. As previously discussed, suchmodification points 406 may include the modified parameters to enableexecution of the copied content in the user's computing environment.

In one embodiment, in connection with presenting modification points 406to user 101, user 101 may also be presented with the modified characterstring incorporating such modification points 406. In one embodiment,modification points 406 are highlighted to clearly illustrate thedifferences with the original copied content. In one embodiment, user101 may be presented the opportunity to select one or more of thepresented modification points 406 to be implemented. In response to suchselection, document manager 104 may enable the pasting of the copiedcontent modified according to the selected modification points 406 intothe user's computing environment as discussed below.

In one embodiment, user 101 may select the particular modificationpoints 406 to be implemented by presenting a key, such as the unique key408 associated with character strings 1 and 2 402, 403. If user 101copied content that matches character string 1 402, then by presentingunique key 408 to document manager 104, document manager 104 may presenta value, such as character string 2 403 associated with character string1 402 and unique key 408.

In one embodiment, modification points 406 may be automatically selectedby document manager 104. In one embodiment, modification points 406 areselected from the most recent item, an item made by a highly-experienceduser, an item with a high usage frequency by other users, etc.

In step 508, document manager 104 enables the paste operation to pastethe copied content (e.g., exemplary command) into the user's computingenvironment (pasted into a text field in a dialog box) to be executed inlight of the user's selection of modification point(s) 406 therebyallowing the pasting of the copied content with modification points 406selected by user 101.

In this manner, the present invention assists the user in recognizingthe parameters that need to be modified and how such modificationsshould be performed in the user's computing environment in order toimplement the execution of content (e.g., exemplary command) copied froman electronic document.

Furthermore, the present invention improves the technology or technicalfield involving document systems. Currently, in such systems, users maysimply copy and paste exemplary commands into their user computingenvironment. For example, the user may copy an exemplary command into atext field in a dialog box. For instance, the user may copy the commandof prompting the user to enter a new user's password in the text fieldin the dialog box. However, in order to implement the execution of thecommand in the user's computing environment, various parameteradjustments or other modifications may be required in the user'scomputing environment. It may not be clear what parameters (e.g.,location parameters) should be modified and to what extent suchparameters should be changed. Configuration mistakes are common. As aresult, users may unnecessarily expend computing resources, such asprocessing resources, in attempting to execute the copied content in theuser's computing environment. Such over utilization of resources resultsin inefficient use of the computing resources (e.g., processingresources). By implementing the present invention, computing resources(e.g., processing resources) are more efficiently utilized since theuser does not need to expend unnecessary computing resources inattempting to execute the copied content in the user's computingenvironment. That is, the computer capabilities of document systems areimproved since fewer computing resources need to be utilized in order toexecute the copied content (e.g., exemplary command) in the user'scomputing environment.

An alternative embodiment for assisting the user in executing thecontent copied from an electronic document by assisting the user inrecognizing the parameters that need to be modified and how suchmodifications should be performed in the user's computing environment isdiscussed below in connection with FIG. 6.

FIG. 6 is a flowchart of an alternative method 600 for assisting theuser in executing the content copied from an electronic document byassisting the user in recognizing the parameters that need to bemodified and how such modifications should be performed in the user'scomputing environment.

Referring to FIG. 6, in conjunction with FIGS. 1-4, in step 601,document manager 104 detects user 101 (can be a different user 101 thanwho copied content in step 301) opening an electronic document (may bethe same or a different electronic document than the electronic documentof step 301) for browsing. In one embodiment, document manager 104 maydetect searches performed by user 101 in a web browser directed toparticular documents, such as user guides. For example, document manager104 may utilize natural language processing to identify keywords, suchas “user's guide” or “manual,” entered by user 101 in a search engine.

In step 602, document manager 104 searches for content in the electronicdocument that matches the registered character strings, such ascharacter string 1 402, in repository 102.

In step 603, a determination is made by document manager 104 as towhether there is content in the electronic document that matches arecord stored in repository 102 within a threshold degree of agreement.

In one embodiment, content in the electronic document is compared withpreviously stored character strings in repository 102, such as characterstring 1 402, character by character. In one embodiment, taking intoaccount the number of characters in the character strings, documentmanager 104 determines if the percentage of characters that matchexceeds a threshold value, which may be user-selected. If the percentageof characters that match exceeds the threshold value, then that contentin the electronic document is said to match. Otherwise, the content isdeemed to not match any character strings in repository 102.

If there are no matches with the registered character strings within athreshold degree of agreement, then, in step 604, document manager 104enables the normal copy and paste operation.

If, however, there is a match with a registered character string withina threshold degree of agreement, then, in step 605, document manager 104identifies modification points 406 that are associated with the matchingcharacter string, such as character string 1 402.

In step 606, document manager 104 detects user 101 copying the content(the content that was previously found to match a registered characterstring in repository 102 in steps 602-603) from the electronic documentthat matches the registered character string in repository 102.

In step 607, document manager 104 presents modification point(s) 406 ofthe copied content, and possibly multiple modification points 406 forthe same character location, to user 101, such as via a combo box or aselection box. In one embodiment, modification point(s) 406 are obtainedfrom the record associated with the matching character string (e.g.,character string 1 402), where the matching character string wasmodified (e.g., character string 2 403) to enable execution of thecopied content in the user's computing environment. For example,referring to FIG. 4, if user 101 copied content (e.g., exemplarycommand) from an electronic document (e.g., user guide) that matchescharacter string 1 402 stored in a record of repository 102 within athreshold degree of agreement, then user 101 would be presented withmodification points 406 associated with the record of character string 1402. As previously discussed, such modification points 406 may includethe modified parameters to enable execution of the copied content in theuser's computing environment.

In one embodiment, in connection with presenting modification points 406to user 101, user 101 may also be presented with the modified characterstring incorporating such modification points 406. In one embodiment,modification points 406 are highlighted to clearly illustrate thedifferences with the original copied content. In one embodiment, user101 may be presented the opportunity to select one or more of thepresented modification points 406 to be implemented. In response to suchselection, document manager 104 may enable the pasting of the copiedcontent modified according to the selected modification points 406 intothe user's computing environment as discussed below.

In one embodiment, modification points 406 may be automatically selectedby document manager 104. In one embodiment, modification points 406 areselected from the most recent item, an item made by a highly-experienceduser, an item with a high usage frequency by other users, etc.

In step 608, document manager 104 enables the paste operation to pastethe copied content (e.g., exemplary command) into the user's computingenvironment (pasted into a text field in a dialog box) to be executed inlight of the user's selection of modification point(s) 406 therebyallowing the pasting of the copied content with modification points 406selected by user 101.

In this manner, the present invention assists the user in recognizingthe parameters that need to be modified and how such modificationsshould be performed in the user's computing environment in order toimplement the execution of content (e.g., exemplary command) copied froman electronic document.

Furthermore, the present invention improves the technology or technicalfield involving document systems. Currently, in such systems, users maysimply copy and paste exemplary commands into their user computingenvironment. For example, the user may copy an exemplary command into atext field in a dialog box. For instance, the user may copy the commandof prompting the user to enter a new user's password in the text fieldin the dialog box. However, in order to implement the execution of thecommand in the user's computing environment, various parameteradjustments or other modifications may be required in the user'scomputing environment. It may not be clear what parameters (e.g.,location parameters) should be modified and to what extent suchparameters should be changed. Configuration mistakes are common. As aresult, users may unnecessarily expend computing resources, such asprocessing resources, in attempting to execute the copied content in theuser's computing environment. Such over utilization of resources resultsin inefficient use of the computing resources (e.g., processingresources). By implementing the present invention, computing resources(e.g., processing resources) are more efficiently utilized since theuser does not need to expend unnecessary computing resources inattempting to execute the copied content in the user's computingenvironment. That is, the computer capabilities of document systems areimproved since fewer computing resources need to be utilized in order toexecute the copied content (e.g., exemplary command) in the user'scomputing environment.

Hence, by incorporating the present invention, when operations areperformed in a computing environment based on examples presented in anelectronic document, the past modified contents for other users may beshared and used by the user. Necessary modified contents may be moreeasily understood by the users. Furthermore, operational mistakes can bereduced and the overall usability will be improved.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

The invention claimed is:
 1. A system, comprising: a memory for storinga computer program for assisting users to execute content in a user'scomputing environment; and a processor connected to the memory, whereinthe processor is configured to execute the program instructions of thecomputer program comprising: detecting a first user copying content froma first electronic document, wherein said content is set as a firstcharacter string; detecting a pasting of said copied content into afirst user's computing environment; detecting a modification of saidcopied content, wherein said modification comprises modification ofparameters of said first user's computing environment to implementexecution of said copied content, wherein said modification of saidcopied content is set as a second character string, wherein said firstuser's computing environment comprises a set of packages, variables andfiles that are present in a computing device of said first user;determining whether a difference between said first and second characterstrings exceeds a threshold value, wherein said determination isaccomplished by comparing each character in each of said first andsecond character strings and identifying any differences; registeringsaid first and second character strings and differences between saidfirst and second character strings in a repository in response to saididentified differences exceeding said threshold value; registeringmodification points and a range of locations in said second characterstring exhibiting differences from said first character string in saidrepository in response to said identified differences exceeding saidthreshold value, wherein said modification points comprise modificationsin said second character string with respect to said first characterstring, wherein said modification points comprise modified parameters ofsaid first user's computing environment to enable execution of contentcopied from said first electronic document in said first user'scomputing environment, wherein said range of locations in said secondcharacter string comprises locations in said second character stringcontaining said modifications; presenting to said first user a dialog toprovide said first user an opportunity to confirm registration of saidfirst and second character strings as well as to confirm said identifieddifferences, said modification points and said range of locations insaid second character string exhibiting differences from said firstcharacter string; associating said registered first and second characterstrings with a unique key, wherein said unique key is stored in saidrepository; detecting a second user copying content from a secondelectronic document into a second user's computing environment;determining whether said copied content from said second electronicdocument matches said first character string in said repository within athreshold degree of agreement by comparing said copied content from saidsecond electronic document with said first character string character bycharacter, wherein said copied content from said second electronicdocument is deemed to match said first character string in saidrepository within said threshold degree of agreement in response to apercentage of characters matching exceeding a value; providing anotification to said second user indicating said copied content fromsaid second electronic document may need to be modified in order to beexecuted in said second user's computing environment in response to saidcopied content from said second electronic document not matching saidfirst character string in said repository within said threshold degreeof agreement; detecting a selection of a paste operation to paste saidcopied content from said second electronic document into said seconduser's computing environment in response to said copied content fromsaid second electronic document matching said first character string insaid repository within said threshold degree of agreement, wherein saidsecond user's computing environment comprises a set of packages,variables and files that are present in a computing device of saidsecond user; and presenting to said second user one or more of saidregistered modification points associated with said second characterstring stored in said repository via a combo box or a selection box. 2.The system as recited in claim 1, wherein said unique key is used toobtain said second character string.
 3. The system as recited in claim1, wherein the program instructions of the computer program furthercomprise: presenting to said second user said second character stringincorporating said one or more presented modification points, whereinsaid one or more presented modification points are highlighted.
 4. Thesystem as recited in claim 3, wherein the program instructions of thecomputer program further comprise: automatically selecting one or moreof said one or more presented modification points to be implemented. 5.The system as recited in claim 3, wherein the program instructions ofthe computer program further comprise: presenting to said second user anopportunity to select one or more of said one or more presentedmodification points to be implemented.
 6. The system as recited in claim5, wherein said second user selects one or more of said one or morepresented modification points by presenting said unique key.
 7. Thesystem as recited in claim 5, wherein the program instructions of thecomputer program further comprise: enabling pasting of said copiedcontent from said second electronic document modified according to saidselected one or more presented modification points into said seconduser's computing environment.
 8. The system as recited in claim 1,wherein the program instructions of the computer program furthercomprise: temporarily disabling said paste operation from being fullyexecuted in response to detecting said selection of said paste operationto paste said copied content from said second electronic document intosaid second user's computing environment.
 9. The system as recited inclaim 8, wherein the program instructions of the computer programfurther comprise: enabling said paste operation to paste said copiedcontent from said second electronic document into said second user'senvironment in response to a selection of one or more of said one ormore presented modification points thereby allowing a pasting of saidcopied content from said second electronic document into said seconduser's computing environment with said one or more modification pointsselected by said second user.
 10. The system as recited in claim 1,wherein said copied content comprises an exemplary command.
 11. Acomputer program product for assisting users to execute content in auser's computing environment, the computer program product comprising acomputer readable storage medium having program code embodied therewith,the program code comprising the programming instructions for: detectinga first user copying content from a first electronic document, whereinsaid content is set as a first character string; detecting a pasting ofsaid copied content into a first user's computing environment; detectinga modification of said copied content, wherein said modificationcomprises modification of parameters of said first user's computingenvironment to implement execution of said copied content, wherein saidmodification of said copied content is set as a second character string,wherein said first user's computing environment comprises a set ofpackages, variables and files that are present in a computing device ofsaid first user; determining whether a difference between said first andsecond character strings exceeds a threshold value, wherein saiddetermination is accomplished by comparing each character in each ofsaid first and second character strings and identifying any differences;registering said first and second character strings and differencesbetween said first and second character strings in a repository inresponse to said identified differences exceeding said threshold value;registering modification points and a range of locations in said secondcharacter string exhibiting differences from said first character stringin said repository in response to said identified differences exceedingsaid threshold value, wherein said modification points comprisemodifications in said second character string with respect to said firstcharacter string, wherein said modification points comprise modifiedparameters of said first user's computing environment to enableexecution of content copied from said first electronic document in saidfirst user's computing environment, wherein said range of locations insaid second character string comprises locations in said secondcharacter string containing said modifications; presenting to said firstuser a dialog to provide said first user an opportunity to confirmregistration of said first and second character strings as well as toconfirm said identified differences, said modification points and saidrange of locations in said second character string exhibitingdifferences from said first character string; associating saidregistered first and second character strings with a unique key, whereinsaid unique key is stored in said repository; detecting a second usercopying content from a second electronic document into a second user'scomputing environment; determining whether said copied content from saidsecond electronic document matches said first character string in saidrepository within a threshold degree of agreement by comparing saidcopied content from said second electronic document with said firstcharacter string character by character, wherein said copied contentfrom said second electronic document is deemed to match said firstcharacter string in said repository within said threshold degree ofagreement in response to a percentage of characters matching exceeding avalue; providing a notification to said second user indicating saidcopied content from said second electronic document may need to bemodified in order to be executed in said second user's computingenvironment in response to said copied content from said secondelectronic document not matching said first character string in saidrepository within said threshold degree of agreement; detecting aselection of a paste operation to paste said copied content from saidsecond electronic document into said second user's computing environmentin response to said copied content from said second electronic documentmatching said first character string in said repository within saidthreshold degree of agreement, wherein said second user's computingenvironment comprises a set of packages, variables and files that arepresent in a computing device of said second user; and presenting tosaid second user one or more of said registered modification pointsassociated with said second character string stored in said repositoryvia a combo box or a selection box.
 12. The computer program product asrecited in claim 11, wherein said unique key is used to obtain saidsecond character string.
 13. The computer program product as recited inclaim 11, wherein the program code further comprises the programminginstructions for: presenting to said second user said second characterstring incorporating said one or more presented modification points,wherein said one or more presented modification points are highlighted.14. The computer program product as recited in claim 13, wherein theprogram code further comprises the programming instructions for:automatically selecting one or more of one or more said presentedmodification points to be implemented.
 15. The computer program productas recited in claim 13, wherein the program code further comprises theprogramming instructions for: presenting to said second user anopportunity to select one or more of said one or more presentedmodification points to be implemented.
 16. The computer program productas recited in claim 15, wherein said second user selects one or more ofsaid one or more presented modification points by presenting said uniquekey.
 17. The computer program product as recited in claim 15, whereinthe program code further comprises the programming instructions for:enabling pasting of said copied content from said second electronicdocument modified according to said selected one or more presentedmodification points into said second user's computing environment. 18.The computer program product as recited in claim 11, wherein the programcode further comprises the programming instructions for: temporarilydisabling said paste operation from being fully executed in response todetecting said selection of said paste operation to paste said copiedcontent from said second electronic document into said second user'scomputing environment.
 19. The computer program product as recited inclaim 18, wherein the program code further comprises the programminginstructions for: enabling said paste operation to paste said copiedcontent from said second electronic document into said second user'senvironment in response to a selection of one or more of said one ormore presented modification points thereby allowing a pasting of saidcopied content from said second electronic document into said seconduser's computing environment with said one or more modification pointsselected by said second user.
 20. The computer program product asrecited in claim 11, wherein said copied content comprises an exemplarycommand.